<?php

/* 
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 * 
 */

function conectarOfertas() {
    
        session_start();
        
        try {
            
            include 'configBbdd.php';
            if ($conexion = mysql_connect($server, $usuario , $pass))
            mysql_set_charset('utf8');
            mysql_select_db($bbdd,$conexion);
        
            return $conexion;
        
        } catch (Exception $e) {
            return null;
        }
        
	//Seleccionar la BD a utilizar
	//or die (mysql_error());
}

function obtenerOfertas($idPlan) {
    
    try {
        
        //Revisar la SQL
        $sql = "select planes.titular as titularPlan,
                       planes.imagen,
                       planes.fecha as fechaProyecto,
                       ofertas.comentario as comentarioOferta,
                       ofertas.descripcion as descripcionOferta,
                       ofertas.idOferta,
                       roles.descripcion as descripcionRol,
                       tipoPlan.descripcion as descripcionTipoPlan,
                       subtipoPlan.descripcion as descripcionSubTipoPlan,
                       ofertas.idOferta,
                       ofertas.idPlan,
                       ofertas.asignado,
                       ofertas.cerrada,
                       ofertas.remunerado,
                       ofertas.comentario,
                       ofertas.descripcion,
                       usuarioAsignado.idUsuario as idUsuarioAsignado,
                       usuarioAsignado.nombre as nombreUsuarioAsignado,
                       usuarioAsignado.apellidos as apellidosUsuarioAsignado,
                       usuarioAsignado.fotoThumb as fotoThumbUsuarioAsignado,
                       usuarioAsignado.foto as fotoUsuarioAsignado,
                       usuarioCreador.idUsuario as idUsuarioCreador,
                       usuarioCreador.nombre as nombreUsuarioCreador,
                       usuarioCreador.apellidos as apellidosUsuarioCreador,
                       usuarioCreador.fotoThumb as fotoThumbUsuarioCreador,
                       usuarioCreador.foto as fotoUsuarioCreador
           from ofertas 
           inner join planes on ofertas.idPlan = planes.idPlan
           inner join roles on roles.idRol = ofertas.idRol
           inner join tipoPlan on tipoPlan.idTipoPlan = planes.idTipoPlan
           inner join subtipoPlan on subtipoPlan.idSubtipoPlan = planes.idSubtipoPlan 
           inner join usuarios as usuarioCreador on usuarioCreador.idUsuario = ofertas.idUsuarioCreador
           inner join usuarios as usuarioAsignado on usuarioAsignado.idUsuario = ofertas.idUsuarioAsignado
           where ofertas.idPlan =".$idPlan;    

        $result = mysql_query($sql, conectarPlanes()); 
        $i = 0;
        
        while ($ultimos = mysql_fetch_array($result)) {
//           if ($ultimos['cerrada']==0) {
                $ofertas[$i] = $ultimos;
                $i++;
//           }
        } 
        
        return $ofertas;
        
    } catch (Exception $e) {
        
        return false;
        
    }
}

function obtenerOfertasDisponibles($idPlan) {
    
    try {
        
        //Revisar la SQL
        $sql = "select planes.titular as titularPlan,
                       planes.imagen,
                       planes.fecha as fechaProyecto,
                       ofertas.comentario as comentarioOferta,
                       ofertas.descripcion as descripcionOferta,
                       ofertas.idOferta,
                       roles.descripcion as descripcionRol,
                       tipoPlan.descripcion as descripcionTipoPlan,
                       subtipoPlan.descripcion as descripcionSubTipoPlan,
                       ofertas.idOferta,
                       ofertas.idPlan,
                       ofertas.asignado,
                       ofertas.cerrada,
                       ofertas.remunerado,
                       ofertas.comentario,
                       ofertas.descripcion,
                       usuarioAsignado.idUsuario as idUsuarioAsignado,
                       usuarioAsignado.nombre as nombreUsuarioAsignado,
                       usuarioAsignado.apellidos as apellidosUsuarioAsignado,
                       usuarioAsignado.fotoThumb as fotoThumbUsuarioAsignado,
                       usuarioAsignado.foto as fotoUsuarioAsignado,
                       usuarioCreador.idUsuario as idUsuarioCreador,
                       usuarioCreador.nombre as nombreUsuarioCreador,
                       usuarioCreador.apellidos as apellidosUsuarioCreador,
                       usuarioCreador.fotoThumb as fotoThumbUsuarioCreador,
                       usuarioCreador.foto as fotoUsuarioCreador
           from ofertas 
           inner join planes on ofertas.idPlan = planes.idPlan
           inner join roles on roles.idRol = ofertas.idRol
           inner join tipoPlan on tipoPlan.idTipoPlan = planes.idTipoPlan
           inner join subtipoPlan on subtipoPlan.idSubtipoPlan = planes.idSubtipoPlan 
           inner join usuarios as usuarioCreador on usuarioCreador.idUsuario = ofertas.idUsuarioCreador
           inner join usuarios as usuarioAsignado on usuarioAsignado.idUsuario = ofertas.idUsuarioAsignado
           where ofertas.idPlan =".$idPlan." and ofertas.cerrada = 0 and ofertas.asignado = 0";    

        $result = mysql_query($sql, conectarPlanes()); 
        $i = 0;
        
        while ($ultimos = mysql_fetch_array($result)) {
//           if ($ultimos['cerrada']==0) {
                $ofertas[$i] = $ultimos;
                $i++;
//           }
        } 
        
        return $ofertas;
        
    } catch (Exception $e) {
        
        return false;
        
    }
}

function obtenerOfertasCerradas($idPlan) {
    
    try {
        
        //Revisar la SQL
        $sql = "SELECT ofertas.idOferta,
                       ofertas.idUsuarioCreador,
                       ofertas.idPlan,
                       roles.descripcion as descripcionRol, 
                       ofertas.comentario,
                       CAST(`asignado` AS UNSIGNED) as asignado,
                       ofertas.idUsuarioAsignado,
                       ofertas.asignado,
                       ofertas.cerrada,
                       usuarios.nombre,
                       usuarios.fotoThumb,
                       usuarios.apellidos
                FROM ofertas
		LEFT JOIN usuarios on ofertas.idUsuarioAsignado = usuarios.idUsuario
                INNER JOIN roles, planes
		WHERE roles.idrol = ofertas.idrol and
                      planes.idplan = ofertas.idplan and
                      ofertas.idPlan =".$idPlan;    

        $result = mysql_query($sql, conectarPlanes()); 
        $i = 0;
        
        while ($ultimos = mysql_fetch_array($result)) {
           if ($ultimos['cerrada'] == 1) {
                $ofertas[$i] = $ultimos;
                $i++;
           }
        } 
        
        return $ofertas;
        
    } catch (Exception $e) {
        
        return false;
        
    }
}

function obtenerSolicitudes($oid) {
    try {
        $sql = "select usuarios.*,
                       planes.titular,
                       planes.fecha,
                       provincias.nombre as nombreProvincia,
                       municipios.nombre as nombreMunicipio,
                       solicitudes.idSolicitud,
                       solicitudes.comentario,
                       solicitudes.aceptado,
                       solicitudes.rechazado,
                       ofertas.idUsuarioCreador,
                       ofertas.idUsuarioAsignado,
                       ofertas.asignado,
                       ofertas.idOferta,
                       roles.descripcion as descripcionRol,
                       (YEAR(CURDATE())-YEAR(fechaNacimiento))-(RIGHT(CURDATE(),5)<RIGHT(fechaNacimiento,5))AS edad 
                from solicitudes
                inner join planes on solicitudes.idPlan = planes.idPlan
                inner join tipoPlan on tipoPlan.idTipoPlan = planes.idTipoPlan
                inner join ofertas on solicitudes.idOferta = ofertas.idOferta
                inner join roles on ofertas.idRol = roles.idRol
                inner join usuarios on solicitudes.idUsuario = usuarios.idUsuario
                inner join provincias on usuarios.idProvincia = provincias.idProvincia
                inner join municipios on usuarios.idMunicipio = municipios.idMunicipio
                where ofertas.idOferta = ".$oid;

        $result = mysql_query($sql, conectarPlanes()); 
        $i = 0;

        while ($solicitud = mysql_fetch_array($result)) {
           $solicitudes[$i] = $solicitud;
           $i++;
        } 

        return $solicitudes;
    } catch (Exception $e) {
        echo 'error obteniendo solicitudes';
        return null;
    }
}
/* obtendremos los roles posibles a partir de un proyecto. Le pasamos el Ide del proyecto,
 * y nos devuelve los roles que se pueden crear en esa fase.
 */

function obtenerRolesTodos() {
    $sql = "SELECT roles.descripcion as descripcionRol,
                   roles.idRol,
                   roles.idTipoPlan,
                   tipoPlan.descripcion as descripcionProyecto
            FROM roles
            INNER JOIN tipoPlan ON tipoPlan.idTipoPlan = roles.idTipoPlan
            ORDER BY roles.idTipoPlan, roles.descripcion ASC";
    $result = mysql_query($sql, conectarOfertas()); 
    
    $i = 0;
    while ($rol = mysql_fetch_array($result)) {
          $roles[$i] = $rol;
          $i++;
    } 
    return $roles;
}

function tieneRol($uid,$rid) {
    $sql = "SELECT * FROM usuariosRoles WHERE idUsuario = ".$uid." AND idRol = ".$rid;
    $result = mysql_query($sql, conectarOfertas()); 
    if (mysql_fetch_array($result)) {
        return true;
    } else {
        return false;
    }
}

function obtenerRolesPlanUsuario($pid) {
    $sql = "SELECT roles.descripcion AS descripcionRol, 
                   roles.idRol  
            FROM roles
            WHERE roles.idTipoPlan =".$pid;
            
    $result = mysql_query($sql, conectarOfertas()); 
    $roles[] = null;
    $i=0;
    
    while ($fila = mysql_fetch_array($result)) {
        $roles[$i] = $fila;
        $i++;
    }
    
    return $roles;
}

function obtenerRoles($pid) {
    $sql = "SELECT roles.descripcion AS descripcionRol, 
                   roles.idRol  
            FROM roles
            WHERE roles.idTipoPlan =".$pid;
            
    $result = mysql_query($sql, conectarOfertas()); 
    $roles[] = null;
    
    while ($fila = mysql_fetch_array($result)) {
        $roles[$fila['idRol']] = $fila['descripcionRol'];
        
    }
    
    return $roles;
}


function obtenerRolesPlan($pid) {
    $sql = "SELECT roles.descripcion AS descripcionRol, 
                   roles.idRol  
            FROM roles
            INNER JOIN planes ON planes.idTipoPlan = roles.idTipoPlan
            WHERE planes.idPlan =".$pid;
            
    $result = mysql_query($sql, conectarOfertas()); 
//    $roles[] = null;
    $i=0;
    while ($fila = mysql_fetch_array($result)) {
          $roles[$i] = $fila;
          $i++;
    } 
    return $roles;
    
}

function actualizarRoles($uid,$rids) {
    
    try {
        $sql = "START TRANSACTION";
        mysql_query($sql, conectarOfertas()); 

        $sql = "DELETE FROM usuariosRoles WHERE idUsuario = ".$uid;
        mysql_query($sql, conectarOfertas()); 


        $i = 0;
        while ($i < count($rids)) {
            $sql = "INSERT INTO usuariosRoles(idRol, idUsuario) VALUES (".$rids[$i].",".$uid.")";
            mysql_query($sql, conectarOfertas()); 
            $i++;
        }

        //Finalizamos la transacción
        $sql = " COMMIT; ";
        $result = mysql_query($sql, conectarOfertas());
        return true;
    } catch (Exception $ex) {
        echo 'error -> '.$ex;
        return false;
    }
}

// Pasamos los valores identificativos del usuario y de la oferta y los vinculamos, insertando los
// cambios pertinentes en la tabla de ofertas.

function asignar($uid, $oid, $pid) {
    
    try {
        $sql = "START TRANSACTION;";
        mysql_query($sql, conectarOfertas()); 
        
        $sql = "UPDATE ofertas 
                SET asignado = 1, 
                    idUsuarioAsignado = ".$uid
                ." WHERE idOFerta = ".$oid;
        mysql_query($sql, conectarOfertas());
        
        $sql = "UPDATE planes 
                SET plazas = plazas-1 WHERE idPlan = ".$pid;
        mysql_query($sql, conectarOfertas());
        
        //Finalizamos la transacción
        $sql = " COMMIT; ";
        $result = mysql_query($sql, conectarOfertas());
        
        return true;
        
    } catch (Exception $e) {
        
        return false;
        
    }
}

function desasignar($oid,$pid) {
    
    try {
        $sql = "START TRANSACTION;";
        mysql_query($sql, conectarOfertas()); 
        
        $sql = "UPDATE ofertas 
                SET asignado = 0, 
                    idUsuarioAsignado = 0 "
                ." WHERE idOFerta = ".$oid;
        mysql_query($sql, conectarOfertas());
        
        $sql = "UPDATE planes 
                 SET plazas = plazas+1 WHERE idPlan = ".$pid;
        mysql_query($sql, conectarOfertas());
        
        //Finalizamos la transacción
        $sql = " COMMIT; ";
        $result = mysql_query($sql, conectarOfertas());
        
        return true;
        
    } catch (Exception $e) {
        
        return false;
        
    }
}

function eliminarOferta($oid,$pid) {
    try{
        $sql = "START TRANSACTION;";
        mysql_query($sql, conectarOfertas()); 
        
        include 'planesBbdd.php';
        $sql = "DELETE FROM ofertas WHERE idOferta = ".$oid;
        $resultado = mysql_query($sql, conectarOfertas());
        
        //Aumentamos en -1 las plazas de la tabla planes
        $sql = "UPDATE planes SET plazas=plazas-1 WHERE idPlan =".$_POST['pid'];
        mysql_query($sql, conectarOfertas());
        
        //Finalizamos la transacción
        $sql = " COMMIT; ";
        $result = mysql_query($sql, conectarOfertas());
        
        return true;
    } catch (Exception $ex) {
        //En caso de que haya algún error, deshacemos toda la transacción y devolvemos false
        $sql = " ROLLBACK; ";
        mysql_query($sql, conectarOfertas());
        return false;
    }
}

function insertarOferta($oferta) {
    
    try{
//        include 'planesBbdd.php';
        
        $sql = "START TRANSACTION;";
        mysql_query($sql, conectarOfertas()); 
        
        //Insertamos la oferta en la tabla ofertas
        $sql = "INSERT INTO ofertas(idUsuarioCreador, idPlan, descripcion, comentario, remunerado, idRol, cerrada) "
                . "    VALUES(".$oferta['uid'].",".$oferta['pid'].",'".$oferta['descripcion']."','".$oferta['comentario']."',".$oferta['remunerado'].",".$oferta['rid'].",".$oferta['cerrada'].")";
        mysql_query($sql, conectarOfertas());        
        
        //Aumentamos en 1 las plazas de la tabla planes
        $sql = "UPDATE planes SET plazas=plazas+1 WHERE idPlan =".$_POST['pid'];
        mysql_query($sql, conectarOfertas());
        
         //Finalizamos la transacción
        $sql = " COMMIT; ";
        $result = mysql_query($sql, conectarOfertas());
        
        return true;
        
    } catch (Exception $ex) {
        //En caso de que haya algún error, deshacemos toda la transacción y devolvemos false
        $sql = " ROLLBACK; ";
        mysql_query($sql, conectarOfertas());
        return false;
    }
}

function insertarOfertaAsignada($uidC, $uidA, $pid, $rid, $asignado) {
    try {
        $sql = "INSERT INTO ofertas (idUsuarioCreador, idUsuarioAsignado, idPlan, idRol, asignado) "
                    . "    VALUES(".$uidC.",".$uidA.",".$pid.",".$rid.",1)";
        if (mysql_query($sql, conectarOfertas())) {
            return true;
        }  else {
            return false;
        }
    } catch (Exception $ex) {
        echo 'error';
    }
    
}

function obtenerOferta($oid) {
    try {
        $sql = "select planes.titular as titularPlan,
                planes.imagen,
                ofertas.comentario as comentarioOferta,
                ofertas.descripcion as descripcionOferta,
                planes.fecha,
                roles.descripcion as descripcionRol,
                tipoPlan.descripcion as descripcionTipoPlan,
                subtipoPlan.descripcion as descripcionSubTipoPlan,
                municipios.nombre as nombreMunicipio,
                provincias.nombre as nombreProvincia,
                ofertas.idOferta,
                ofertas.idPlan,
                ofertas.asignado,
                usuarioAsignado.idUsuario as idUsuarioAsignado,
                usuarioAsignado.nombre as nombreUsuarioAsignado,
                usuarioAsignado.apellidos as apellidosUsuarioAsignado,
                usuarioAsignado.foto as fotoUsuarioAsignado,
                usuarioAsignado.foto as fotoUsuarioAsignado,
                usuarioCreador.idUsuario as idUsuarioCreador,
                usuarioCreador.nombre as nombreUsuarioCreador,
                usuarioCreador.apellidos as apellidosUsuarioCreador,
                usuarioCreador.foto as fotoUsuarioCreador,
                usuarioCreador.foto as fotoUsuarioCreador
                
           from ofertas 
           inner join planes on ofertas.idPlan = planes.idPlan
           inner join municipios on municipios.idMunicipio = planes.idMunicipio
           inner join provincias on provincias.idProvincia = planes.idProvincia
           inner join roles on roles.idRol = ofertas.idRol
           inner join tipoPlan on tipoPlan.idTipoPlan = planes.idTipoPlan
           inner join subtipoPlan on subtipoPlan.idSubtipoPlan = planes.idSubtipoPlan 
           inner join usuarios as usuarioCreador on usuarioCreador.idUsuario = ofertas.idUsuarioCreador
           inner join usuarios as usuarioAsignado on usuarioAsignado.idUsuario = ofertas.idUsuarioAsignado
           where idOferta = ".$oid;
        $resultado = mysql_query($sql, conectarOfertas());
        if ($oferta = mysql_fetch_array($resultado)) {
            return $oferta;
        } else { 
//            echo 'Error obteniendo oferta';
            return null;
        }
    } catch (Exception $ex) {
        echo 'error obteniendo oferta';
        return null;
    }
}

function obtenerOfertasAsignadas($pid) {
    try {
        $sql = "SELECT idUsuarioAsignado AS idUsuario FROM ofertas WHERE asignado = 1 AND idPlan=".$pid; 
           
        $resultado = mysql_query($sql, conectarOfertas());
        $i = 0;

        while ($oferta = mysql_fetch_array($resultado)) {
           $ofertas[$i] = $oferta;
           $i++;
        } 

        return $ofertas;
    } catch (Exception $ex) {
        echo 'error obteniendo oferta';
        return null;
    }
}

function ofertaSolicitada($uid,$oid) {
    try {
       $sql = "SELECT *
               FROM solicitudes
               WHERE idUsuario = ".$uid. 
               " AND idOferta = ".$oid;
    
        $resultado = mysql_query($sql, conectarOfertas());
        if (mysql_fetch_array($resultado)) {
            return true;
        } else { 
            return false;
        } 
    } catch (Exception $ex) {
        echo 'Error al comprobar oferta';
        return false;
    }
    
}

function solicitarOferta ($uid, $oid, $pid) {
    try {
        $comentario = "TEST";
        $sql = "insert into solicitudes(idUsuario,idPlan,idOferta,comentario) "
             . "values (".$uid.",".$pid.",".$oid.",'".$comentario."')";
        if (mysql_query($sql, conectarOfertas())) {
            return true;
        } else { 
            return false;
        } 
    } catch (Exception $ex) {
        echo 'Error al insertar la solicitud';
        return false;
    }
}

function ofertaAsignada($oid) {
    $sql = "SELECT * FROM ofertas WHERE idOferta = ";
}


function solicitudesAceptadas($oid) {
    try {
        $sql =  "select usuarios.*,
                        planes.titular,
                        planes.fecha,
                        provincias.nombre as nombreProvincia,
                        municipios.nombre as nombreMunicipio,
                        solicitudes.idSolicitud,
                        solicitudes.comentario,
                        solicitudes.aceptado,
                        solicitudes.rechazado,
                        ofertas.idUsuarioCreador,
                        ofertas.idUsuarioAsignado,
                        ofertas.asignado,
                        ofertas.idOferta,
                        roles.descripcion as descripcionRol,
                        (YEAR(CURDATE())-YEAR(fechaNacimiento))-(RIGHT(CURDATE(),5)<RIGHT(fechaNacimiento,5))AS edad 
                    from solicitudes
                inner join planes on solicitudes.idPlan = planes.idPlan
                inner join ofertas on solicitudes.idOferta = ofertas.idOferta
                inner join roles on ofertas.idRol = roles.idRol
                inner join usuarios on solicitudes.idUsuario = usuarios.idUsuario
                inner join provincias on usuarios.idProvincia = provincias.idProvincia
                inner join municipios on usuarios.idMunicipio = municipios.idMunicipio
                where ofertas.idOferta = ".$oid." AND aceptado=1";
         $result = mysql_query($sql, conectarPlanes()); 
        $i = 0;

        while ($solicitud = mysql_fetch_array($result)) {
           $solicitudes[$i] = $solicitud;
           $i++;
        } 

        return $solicitudes;
    } catch (Exception $e) {
        echo 'error obteniendo solicitudes';
        return null;
    }
}

function solicitudesRechazadas($oid) {
    try {
        $sql =  "select usuarios.*,
                       planes.fecha,
                        provincias.nombre as nombreProvincia,
                        municipios.nombre as nombreMunicipio,
                        solicitudes.idSolicitud,
                        solicitudes.comentario,
                        solicitudes.aceptado,
                        solicitudes.rechazado,
                        ofertas.idUsuarioCreador,
                        ofertas.idUsuarioAsignado,
                        ofertas.asignado,
                        ofertas.idOferta,
                        roles.descripcion as descripcionRol,
                        (YEAR(CURDATE())-YEAR(fechaNacimiento))-(RIGHT(CURDATE(),5)<RIGHT(fechaNacimiento,5))AS edad 
                    from solicitudes
                inner join planes on solicitudes.idPlan = planes.idPlan
                inner join ofertas on solicitudes.idOferta = ofertas.idOferta
                inner join roles on ofertas.idRol = roles.idRol
                inner join usuarios on solicitudes.idUsuario = usuarios.idUsuario
                inner join provincias on usuarios.idProvincia = provincias.idProvincia
                inner join municipios on usuarios.idMunicipio = municipios.idMunicipio
                where ofertas.idOferta = ".$oid." AND rechazado=1";
         $result = mysql_query($sql, conectarPlanes()); 
        $i = 0;

        while ($solicitud = mysql_fetch_array($result)) {
           $solicitudes[$i] = $solicitud;
           $i++;
        } 

        return $solicitudes;
    } catch (Exception $e) {
        echo 'error obteniendo solicitudes';
        return null;
    }
}

function solicitudesPendientes($oid) {
    try {
         $sql =  "select usuarios.*,
                           planes.titular,
                           planes.fecha,
                           provincias.nombre as nombreProvincia,
                           municipios.nombre as nombreMunicipio,
                           solicitudes.comentario,
                           solicitudes.aceptado,
                           solicitudes.rechazado,
                           ofertas.idUsuarioCreador,
                           ofertas.idUsuarioAsignado,
                           ofertas.asignado,
                           ofertas.idOferta,
                           roles.descripcion as descripcionRol,
                           (YEAR(CURDATE())-YEAR(fechaNacimiento))-(RIGHT(CURDATE(),5)<RIGHT(fechaNacimiento,5))AS edad 
                    from solicitudes
                inner join planes on solicitudes.idPlan = planes.idPlan
                inner join ofertas on solicitudes.idOferta = ofertas.idOferta
                inner join roles on ofertas.idRol = roles.idRol
                inner join usuarios on solicitudes.idUsuario = usuarios.idUsuario
                inner join provincias on usuarios.idProvincia = provincias.idProvincia
                inner join municipios on usuarios.idMunicipio = municipios.idMunicipio
                where ofertas.idOferta = ".$oid." AND (aceptado = 0 AND rechazado = 0) ";
          $result = mysql_query($sql, conectarPlanes()); 
          $i = 0;

          while ($solicitud = mysql_fetch_array($result)) {
              $solicitudes[$i] = $solicitud;
               $i++;
          } 

         return $solicitudes;
    } catch (Exception $e) {
        echo 'error obteniendo solicitudes';
        return null;
    }
}

function rechazarSolicitud($sid,$uid) {
    $sql = "UPDATE solicitudes "
            . "SET rechazado = 1, aceptado = 0 "
            . "WHERE idUsuario = ".$uid." AND idSolicitud = ".$sid;
    if (mysql_query($sql, conectarOfertas())) {
            return true;
        } else { 
            return false;
        } 
}

function aceptarSolicitud($sid,$uid) {
    $sql = "UPDATE solicitudes "
            . "SET aceptado = 1, rechazado = 0 "
            . "WHERE idUsuario = ".$uid." AND idSolicitud = ".$sid;
    if (mysql_query($sql, conectarOfertas())) {
            return true;
        } else { 
            return false;
        } 
}

function obtenerSolicitudesUsuario($uid) {
    try {
    $sql = "SELECT solicitudes.idSolicitud,
                   solicitudes.aceptado,
                   solicitudes.rechazado,
                   planes.titular,
                   planes.imagen,
                   planes.fecha as fechaProyecto,
                   tipoPlan.imagen as imagenTipoPlan,
                   municipios.nombre as nombreMunicipio,
                   provincias.nombre as nombreProvincia,
                   usuarios.nombre,
                   usuarios.apellidos,
                   usuarios.foto,
                   usuarios.idUsuario,
                   usuarios2.nombre as nombreUsuarioAsignado,
                   usuarios2.apellidos as apellidosUsuarioAsignado,
                   usuarios2.fotoThumb as fotoThumbUsuarioAsignado,
                   roles.descripcion as descripcionRol,
                   ofertas.asignado,
                   ofertas.idUsuarioAsignado,
                   ofertas.idUsuarioCreador,
                   ofertas.idOferta,
                   ofertas.descripcion as descripcionOferta,
                   ofertas.comentario as comentario,
                   ofertas.idPlan,
                   ofertas.cerrada
            FROM solicitudes
            inner join ofertas on ofertas.idOferta = solicitudes.idOferta
            inner join planes on planes.idPlan = solicitudes.idPlan
            inner join tipoPlan on planes.idTipoPlan = tipoPlan.idTipoPlan
            inner join municipios on municipios.idMunicipio = planes.idMunicipio
            inner join provincias on provincias.idProvincia = planes.idProvincia
            inner join roles on roles.idRol = ofertas.idRol
            inner join usuarios on usuarios.idUsuario = planes.idUsuario
            inner join usuarios as usuarios2 on usuarios2.idUsuario = ofertas.idUsuarioAsignado
            where solicitudes.idUsuario = ".$uid." ORDER BY fecha DESC";
    $result = mysql_query($sql, conectarOfertas()); 
          $i = 0;

    while ($solicitud = mysql_fetch_array($result)) {
         $solicitudes[$i] = $solicitud;
         $i++;
    } 

   return $solicitudes;
    } catch (Exception $e) {
        echo 'error al obtener las solicitudes del usuario';
        return null;
    }
}

function obtenerSolicitudesPendientes($uid) {
    try {
    $sql = "SELECT solicitudes.idSolicitud,
                   solicitudes.aceptado,
                   solicitudes.rechazado,
                   planes.titular,
                   planes.imagen,
                   planes.fecha as fechaProyecto,
                   tipoPlan.imagen as imagenTipoPlan,
                   municipios.nombre as nombreMunicipio,
                   provincias.nombre as nombreProvincia,
                   usuarios.nombre,
                   usuarios.apellidos,
                   usuarios.foto,
                   usuarios.idUsuario,
                   usuarios2.nombre as nombreUsuarioAsignado,
                   usuarios2.apellidos as apellidosUsuarioAsignado,
                   usuarios2.fotoThumb as fotoThumbUsuarioAsignado,
                   roles.descripcion as descripcionRol,
                   ofertas.asignado,
                   ofertas.idUsuarioAsignado,
                   ofertas.idUsuarioCreador,
                   ofertas.idOferta,
                   ofertas.descripcion as descripcionOferta,
                   ofertas.comentario as comentario,
                   ofertas.idPlan,
                   ofertas.cerrada
            FROM solicitudes
            inner join ofertas on ofertas.idOferta = solicitudes.idOferta
            inner join planes on planes.idPlan = solicitudes.idPlan
            inner join tipoPlan on planes.idTipoPlan = tipoPlan.idTipoPlan
            inner join municipios on municipios.idMunicipio = planes.idMunicipio
            inner join provincias on provincias.idProvincia = planes.idProvincia
            inner join roles on roles.idRol = ofertas.idRol
            inner join usuarios on usuarios.idUsuario = planes.idUsuario
            inner join usuarios as usuarios2 on usuarios2.idUsuario = ofertas.idUsuarioAsignado
            where (solicitudes.aceptado = 0 and solicitudes.rechazado = 0) and solicitudes.idUsuario = ".$uid." ORDER BY fecha DESC";
    $result = mysql_query($sql, conectarOfertas()); 
          $i = 0;

    while ($solicitud = mysql_fetch_array($result)) {
         $solicitudes[$i] = $solicitud;
         $i++;
    } 

   return $solicitudes;
    } catch (Exception $e) {
        echo 'error al obtener las solicitudes del usuario';
        return null;
    }
}

function obtenerSolicitudesAceptadas($uid) {
    try {
    $sql = "SELECT solicitudes.idSolicitud,
                   solicitudes.aceptado,
                   solicitudes.rechazado,
                   planes.titular,
                   planes.imagen,
                   planes.fecha as fechaProyecto,
                   tipoPlan.imagen as imagenTipoPlan,
                   municipios.nombre as nombreMunicipio,
                   provincias.nombre as nombreProvincia,
                   usuarios.nombre,
                   usuarios.apellidos,
                   usuarios.foto,
                   usuarios.idUsuario,
                   usuarios2.nombre as nombreUsuarioAsignado,
                   usuarios2.apellidos as apellidosUsuarioAsignado,
                   usuarios2.fotoThumb as fotoThumbUsuarioAsignado,
                   roles.descripcion as descripcionRol,
                   ofertas.asignado,
                   ofertas.idUsuarioAsignado,
                   ofertas.idUsuarioCreador,
                   ofertas.idOferta,
                   ofertas.descripcion as descripcionOferta,
                   ofertas.comentario as comentario,
                   ofertas.idPlan,
                   ofertas.cerrada
            FROM solicitudes
            inner join ofertas on ofertas.idOferta = solicitudes.idOferta
            inner join planes on planes.idPlan = solicitudes.idPlan
            inner join tipoPlan on planes.idTipoPlan = tipoPlan.idTipoPlan
            inner join municipios on municipios.idMunicipio = planes.idMunicipio
            inner join provincias on provincias.idProvincia = planes.idProvincia
            inner join roles on roles.idRol = ofertas.idRol
            inner join usuarios on usuarios.idUsuario = planes.idUsuario
            inner join usuarios as usuarios2 on usuarios2.idUsuario = ofertas.idUsuarioAsignado
            where solicitudes.aceptado = 1 and solicitudes.idUsuario = ".$uid." ORDER BY fecha DESC";
    $result = mysql_query($sql, conectarOfertas()); 
          $i = 0;

    while ($solicitud = mysql_fetch_array($result)) {
         $solicitudes[$i] = $solicitud;
         $i++;
    } 

   return $solicitudes;
    } catch (Exception $e) {
        echo 'error al obtener las solicitudes del usuario';
        return null;
    }
}

function obtenerSolicitudesRechazadas($uid) {
    try {
    $sql = "SELECT solicitudes.idSolicitud,
                   solicitudes.aceptado,
                   solicitudes.rechazado,
                   planes.titular,
                   planes.imagen,
                   planes.fecha as fechaProyecto,
                   tipoPlan.imagen as imagenTipoPlan,
                   municipios.nombre as nombreMunicipio,
                   provincias.nombre as nombreProvincia,
                   usuarios.nombre,
                   usuarios.apellidos,
                   usuarios.foto,
                   usuarios.idUsuario,
                   usuarios2.nombre as nombreUsuarioAsignado,
                   usuarios2.apellidos as apellidosUsuarioAsignado,
                   usuarios2.fotoThumb as fotoThumbUsuarioAsignado,
                   roles.descripcion as descripcionRol,
                   ofertas.asignado,
                   ofertas.idUsuarioAsignado,
                   ofertas.idUsuarioCreador,
                   ofertas.idOferta,
                   ofertas.descripcion as descripcionOferta,
                   ofertas.comentario as comentario,
                   ofertas.idPlan,
                   ofertas.cerrada
            FROM solicitudes
            inner join ofertas on ofertas.idOferta = solicitudes.idOferta
            inner join planes on planes.idPlan = solicitudes.idPlan
            inner join tipoPlan on planes.idTipoPlan = tipoPlan.idTipoPlan
            inner join municipios on municipios.idMunicipio = planes.idMunicipio
            inner join provincias on provincias.idProvincia = planes.idProvincia
            inner join roles on roles.idRol = ofertas.idRol
            inner join usuarios on usuarios.idUsuario = planes.idUsuario
            inner join usuarios as usuarios2 on usuarios2.idUsuario = ofertas.idUsuarioAsignado
            where solicitudes.rechazado = 1 and solicitudes.idUsuario = ".$uid." ORDER BY fecha DESC";
    $result = mysql_query($sql, conectarOfertas()); 
          $i = 0;

    while ($solicitud = mysql_fetch_array($result)) {
         $solicitudes[$i] = $solicitud;
         $i++;
    } 

   return $solicitudes;
    } catch (Exception $e) {
        echo 'error al obtener las solicitudes del usuario';
        return null;
    }
}

function obtenerSolicitudesAsignadas($uid) {
    try {
    $sql = "SELECT solicitudes.idSolicitud,
                   solicitudes.aceptado,
                   solicitudes.rechazado,
                   planes.titular,
                   planes.imagen,
                   planes.fecha as fechaProyecto,
                   tipoPlan.imagen as imagenTipoPlan,
                   municipios.nombre as nombreMunicipio,
                   provincias.nombre as nombreProvincia,
                   usuarios.nombre,
                   usuarios.apellidos,
                   usuarios.foto,
                   usuarios.idUsuario,
                   usuarios2.nombre as nombreUsuarioAsignado,
                   usuarios2.apellidos as apellidosUsuarioAsignado,
                   usuarios2.fotoThumb as fotoThumbUsuarioAsignado,
                   roles.descripcion as descripcionRol,
                   ofertas.asignado,
                   ofertas.idUsuarioAsignado,
                   ofertas.idUsuarioCreador,
                   ofertas.idOferta,
                   ofertas.descripcion as descripcionOferta,
                   ofertas.comentario as comentario,
                   ofertas.idPlan,
                   ofertas.cerrada
            FROM solicitudes
            inner join ofertas on ofertas.idOferta = solicitudes.idOferta
            inner join planes on planes.idPlan = solicitudes.idPlan
            inner join tipoPlan on planes.idTipoPlan = tipoPlan.idTipoPlan
            inner join municipios on municipios.idMunicipio = planes.idMunicipio
            inner join provincias on provincias.idProvincia = planes.idProvincia
            inner join roles on roles.idRol = ofertas.idRol
            inner join usuarios on usuarios.idUsuario = planes.idUsuario
            inner join usuarios as usuarios2 on usuarios2.idUsuario = ofertas.idUsuarioAsignado
            where ofertas.idUsuarioAsignado = ".$uid." and solicitudes.idUsuario = ".$uid." ORDER BY fecha DESC";
    $result = mysql_query($sql, conectarOfertas()); 
          $i = 0;

    while ($solicitud = mysql_fetch_array($result)) {
         $solicitudes[$i] = $solicitud;
         $i++;
    } 

   return $solicitudes;
    } catch (Exception $e) {
        echo 'error al obtener las solicitudes del usuario';
        return null;
    }
}

function obtenerSolicitudesCerradas($uid) {
    try {
    $sql = "SELECT solicitudes.idSolicitud,
                   solicitudes.aceptado,
                   solicitudes.rechazado,
                   planes.titular,
                   planes.imagen,
                   planes.fecha as fechaProyecto,
                   tipoPlan.imagen as imagenTipoPlan,
                   municipios.nombre as nombreMunicipio,
                   provincias.nombre as nombreProvincia,
                   usuarios.nombre,
                   usuarios.apellidos,
                   usuarios.foto,
                   usuarios.idUsuario,
                   usuarios2.nombre as nombreUsuarioAsignado,
                   usuarios2.apellidos as apellidosUsuarioAsignado,
                   usuarios2.fotoThumb as fotoThumbUsuarioAsignado,
                   roles.descripcion as descripcionRol,
                   ofertas.asignado,
                   ofertas.idUsuarioAsignado,
                   ofertas.idUsuarioCreador,
                   ofertas.idOferta,
                   ofertas.descripcion as descripcionOferta,
                   ofertas.comentario as comentario,
                   ofertas.idPlan,
                   ofertas.cerrada
            FROM solicitudes
            inner join ofertas on ofertas.idOferta = solicitudes.idOferta
            inner join planes on planes.idPlan = solicitudes.idPlan
            inner join tipoPlan on planes.idTipoPlan = tipoPlan.idTipoPlan
            inner join municipios on municipios.idMunicipio = planes.idMunicipio
            inner join provincias on provincias.idProvincia = planes.idProvincia
            inner join roles on roles.idRol = ofertas.idRol
            inner join usuarios on usuarios.idUsuario = planes.idUsuario
            inner join usuarios as usuarios2 on usuarios2.idUsuario = ofertas.idUsuarioAsignado
            where ofertas.asignado = 1 and planes.fecha < '".  date("Y-m-d")."' and solicitudes.idUsuario = ".$uid." ORDER BY fecha DESC";
    $result = mysql_query($sql, conectarOfertas()); 
          $i = 0;

    while ($solicitud = mysql_fetch_array($result)) {
         $solicitudes[$i] = $solicitud;
         $i++;
    } 

   return $solicitudes;
    } catch (Exception $e) {
        echo 'error al obtener las solicitudes del usuario';
        return null;
    }
}

function eliminarSolicitud($sid) {
        $sql = "DELETE FROM solicitudes WHERE idSolicitud = ".$sid;
        if (mysql_query($sql, conectarOfertas())) {
            return true;
        } else { 
            return false;
        } 
    }
    
function obtenerEquipo($pid) {
    try {
        $sql = "SELECT  usuarios.idUsuario,
                    usuarios.nombre as nombreUsuario,
                    usuarios.apellidos,
                    usuarios.fotoThumb,
                    usuarios.foto,
                    usuarios.valoracionMedia,
                    usuarios.cantidadValoraciones,
                    provincias.nombre as nombreProvincia,
                    municipios.nombre as nombreMunicipio,
                    roles.descripcion as descripcionRol,
                    ofertas.idOferta,
                    ofertas.descripcion as descripcionOferta,
                    ofertas.comentario
                FROM ofertas
                INNER JOIN roles ON roles.idRol = ofertas.idRol
                INNER JOIN usuarios ON usuarios.idUsuario = ofertas.idUsuarioAsignado
                INNER JOIN planes ON planes.idPlan = ofertas.idPlan
                INNER JOIN provincias ON usuarios.idProvincia = provincias.idProvincia
                INNER JOIN municipios ON usuarios.idMunicipio = municipios.idMunicipio
                WHERE ofertas.asignado = 1 
                AND ofertas.idPlan = ".$pid." ORDER BY idUsuario";
        $result = mysql_query($sql, conectarOfertas()); 
        $i = 0;

        while ($rol = mysql_fetch_array($result)) {
             $equipo[$i] = $rol;
             $i++;
        } 

        return $equipo;
    } catch (Exception $e) {
        echo 'error al obtener las solicitudes del usuario';
        return null;
    }
    
}


function valoracionMediaEquipo($pid) {
    try {
        $sql = "SELECT round(avg(valoracionMedia)) as media
                FROM ofertas 
                INNER JOIN usuarios ON usuarios.idUsuario = ofertas.idUsuarioAsignado
                WHERE ofertas.idPlan = ".$pid;
        $result = mysql_query($sql, conectarOfertas()); 
        
        if ($equipo = mysql_fetch_array($result)) {
             return $equipo['media'];
        } else {
            echo "error";
        }
    } catch (Exception $e) {
        echo 'error al obtener la media del equipo';
        return null;
    }
    
}

    
function miRolOferta($uid, $pid, $rid) {
    $sql = "SELECT count(*) AS contador
            FROM ofertas
            INNER JOIN usuarios ON usuarios.idUsuario = ofertas.idUsuarioAsignado 
            WHERE usuarios.idUsuario = ".$uid. 
            " AND ofertas.idPlan = ".$pid.
            " AND ofertas.idRol = ".$rid;
    
    $result = mysql_query($sql, conectarOfertas()); 
    
    if ($rol = mysql_fetch_array($result)) {
        if ($rol['contador'] > 0){
            return true;
        } else {
            return false;
        }
    } else {
        return false;
    }
    
}
    
function eliminarOfertasUsuarioProyecto ($uid,$pid) {
    $sql = "DELETE FROM ofertas WHERE idUsuarioAsignado = ".$uid." AND idPlan = ".$pid;
    if (mysql_query($sql, conectarOfertas())) {
        return true;
    } else { 
        return false;
    } 
}

function ofertasRegistradas() {
    try {
        $sql = "SELECT count(*) as total FROM ofertas";
        $result = mysql_query($sql, conectarOfertas());       

        if ($ofertas = mysql_fetch_array($result)) {
            return $ofertas;
        } else {
            echo "ERROR!";
        }
    } catch (Exception $ex) {
        echo "ERROR! ".$ex;
    }
}

function ofertasRemuneradas() {
    try {
        $sql = "SELECT count(*) as total FROM ofertas WHERE remunerado = 1";
        $result = mysql_query($sql, conectarOfertas());       

        if ($ofertas = mysql_fetch_array($result)) {
            return $ofertas;
        } else {
            echo "ERROR!";
        }
    } catch (Exception $ex) {
        echo "ERROR! ".$ex;
    }
}

function ofertasAsignadas() {
    try {
        $sql = "SELECT count(*) as total FROM ofertas WHERE asignado = 1";
        $result = mysql_query($sql, conectarOfertas());       

        if ($ofertas = mysql_fetch_array($result)) {
            return $ofertas['total'];
        } else {
            echo "ERROR!";
        }
    } catch (Exception $ex) {
        echo "ERROR! ".$ex;
    }
}

function totalOfertasCine() {
    try {
        $sql = "SELECT count(*) as total FROM ofertas INNER JOIN planes on ofertas.idPlan = planes.idPlan WHERE planes.idTipoPlan = 1";
        $result = mysql_query($sql, conectarOfertas());       

        if ($ofertas = mysql_fetch_array($result)) {
            return $ofertas['total'];
        } else {
            echo "ERROR!";
        }
    } catch (Exception $ex) {
        echo "ERROR! ".$ex;
    }
}

function totalOfertasEscena() {
    try {
        $sql = "SELECT count(*) as total FROM ofertas INNER JOIN planes on ofertas.idPlan = planes.idPlan WHERE planes.idTipoPlan = 2";
        $result = mysql_query($sql, conectarOfertas());       

        if ($ofertas = mysql_fetch_array($result)) {
            return $ofertas['total'];
        } else {
            echo "ERROR!";
        }
    } catch (Exception $ex) {
        echo "ERROR! ".$ex;
    }
}

function totalRoles($tp) {
    try {
        $sql = "select roles.descripcion as descripcion, count(usuariosRoles.idRol) as total
                from roles
                left join usuariosRoles on usuariosRoles.idRol = roles.idRol
                inner join tipoPlan on roles.idTipoPlan = tipoPlan.idTipoPlan
                where tipoPlan.descripcion = '".$tp."' ".
                "group by roles.idRol order by total desc";
        
        $result = mysql_query($sql, conectarOfertas()); 
          $i = 0;

        while ($rol = mysql_fetch_array($result)) {
             $roles[$i] = $rol;
             $i++;
        } 
        
        return $roles;
    } catch (Exception $ex) {
        echo "ERROR! ".$ex;
    }
}

function editarOferta($oferta) {
    $sql = "UPDATE ofertas "
         . "SET comentario = '".$oferta['comentario']."', descripcion = '".$oferta['descripcion']."', remunerado = ".$oferta['remunerado'].", cerrada = ".$oferta['cerrada']
         . " WHERE idOferta = ".$oferta['oid'];
    if (mysql_query($sql, conectarOfertas())) {
            return true;
        } else { 
            return false;
        } 
}


